// var sortedSquares = function(nums) {
//    let n = nums.length
//    for(var i=0;i<n;i++){
//        if(nums[i]<0){
//            nums[i]=-nums[i]
//        }else{
//         break
//        }
//    }
//    let newNums=merge(nums.slice(0,i),nums.slice(i,n))

// };

// function merge(nums1,nums2){
//     let newNums=[]
//     let i=0,
//         j=0,
//         k=0,
//         n=nums1.length,
//         m=nums2.length
//     while(i<n&&j<m){
//         if(nums1[i]>nums2[j]){
//             newNums[k++]=nums2[j++]
//         }else{
//             newNums[k++]=nums1[i++]
//         }
//     }
//     if(i>=n){
//        while(j<m){
//            newNums[k++]=nums2[j++]
//        }
//     }
//     if(j>=m){
//         while(i<n){
//             newNums[k++]=nums1[i++]
//         }
//     }
//     return newNums
// }
// console.log(merge([1,3,7,8,10],[0,1,2,3,5]));



/**
 * 双指针
 * carl
 */

var sortedSquares = function(nums) {
    let left=0,
        right=nums.length-1,
        n=nums.length-1,
        newNums=[];
    while(right>=left){
        if(nums[right]*nums[right]<nums[left]*nums[left]){
            
            newNums[n]=nums[left]*nums[left]
            left++
        }else{
            
            newNums[n]=nums[right]*nums[right]
            right--
        }
        n--
    }
    return newNums

};

console.log(sortedSquares([-4,-1,0,3,10]));